//这个文件专门处理 用户权限的逻辑

import { ElMessage } from "element-plus"

function checkPermission(router) {
  //处理登录权限
  router.beforeEach((to, from) => {
    let token = localStorage.getItem("token")
    if (to.meta.requireLogin == true) {
      //判断要跳转的页面 是否需要登录，如果需要就判断 是否有token
      // 如果没有 ，就跳转到 登录，
      if (token) {
        // next()
      } else {
        return { path: "/login" }
        // next({ path: "/login" })
      }
    } else {
      // next()
    }
  })

  // 处理 页面权限
  router.beforeEach((to, from) => {
    let token = localStorage.getItem("token")
    //判断如果token不存在 就不处理token
    if (!token) {
      return
    }
    let role = localStorage.getItem("role")
    let checkedkeys = JSON.parse(localStorage.getItem("checkedkeys"))

    // 1-如果 role 是 2  超管--具有所有页面的访问权限
    if (role == 2) {
    } else {
      //2-普通的管理员
      // 判断 要访问的地址，是否在checkdkeys 里面，如果在说明有权限，如果不再说明没有权限
      //把首页 和 layout,login 三个页面 不同判断权限  直接添加进去
      checkedkeys = [...checkedkeys, "home", "layout", "login"]
      console.log("当前用户具有的操作权限", checkedkeys)
      console.log("要访问的页面", to.name)
      //判断 要访问的页面 名字，是否在权限列表中

      // 不在处理一下
      if (!checkedkeys.includes(to.name)) {
        console.log("你没有访问权限")
        ElMessage({
          type: "error",
          message: "你没有访问权限"
        })
        return false
      }
    }
  })
}

export default checkPermission
